package com.hsurosy.domain.activity.service.quota.rule;

import com.hsurosy.domain.activity.model.entity.ActivityCountEntity;
import com.hsurosy.domain.activity.model.entity.ActivityEntity;
import com.hsurosy.domain.activity.model.entity.ActivitySkuEntity;

/**
 * @Author Hsu琛君珩
 * @Date 2024-11-08 18:16
 * @Description 下单规则过滤接口
 * @Version: v1.0.0
 */
public interface IActionChain extends IActionChainArmory {

    /**
     * 责任链的核心逻辑方法
     *
     * @param activitySkuEntity 活动SKU实体
     * @param activityEntity 活动实体
     * @param activityCountEntity 活动次数实体
     * @return 校验结果，true表示通过规则校验，false表示校验失败
     */
    boolean action(ActivitySkuEntity activitySkuEntity, ActivityEntity activityEntity, ActivityCountEntity activityCountEntity);

}
